// 放一些我们通用的验证

import { ErrorTypes } from 'vue-router'

// file：我们要检查的文件
// condition：用什么样的条件去检查
interface CheckCondition {
  format?: string[] // 检查它是什么样的格式
  size?: number // 每个上传图片的大小
}
type ErrorType = 'size' | 'format' | null
export function beforUpLoadCheck (file: File, condition: CheckCondition) {
  const { format, size } = condition
  const isValidFormat = format ? format.includes(file.type) : true
  const isValidSize = size ? file.size / 1024 / 1024 < size : true
  let error: ErrorType = null
  if (!isValidFormat) {
    error = 'format'
  }
  if (!isValidSize) {
    error = 'size'
  }
  return {
    passed: isValidFormat && isValidSize,
    error
  }
}
